A number of standard computer systems are available for the production of `computer graphics` whereby images are generated entirely electronically. These often take the form of a computer attached to a raster graphics display or other raster output device, and an input device through which the operator can draw and see the results of his work in real time on the electronic display. In using such devices, it is possible to create images of almost arbitrary complexity.
For the purposes of illustration it can be assumed that each image is made up, at the most primitive level of a large number of individual pixels each of whose colour can be easily altered, and the display of an image is achieved by display of the individual pixels on a computer display device.
In one popular format for storing colour images (known as an RGBO format) the red, green and blue (RGB) information is stored in addition to an opacity value O being stored which relates to the degree of transparency (or Opacity) that particular image has at that particular pixel. The separate storage of the opacity value is known as an `Opacity Plane` or `alpha channel`. It can be assumed to the purposes of discussion of the present invention that the opacity information is stored separately as an opacity plane. This method of storage is especially convenient when multiple images are to be `composited` over one another and transparency effects are to be used in the final composite colour image. A full discussion of the procedure used in compositing images through the use of an opacity plane is disclosed in `Compositing Digital Images` by Thomas Porter and Tom Duff, published in Computer Graphics, Volume 18, Number 3, July 1984, at page 253.
The process of compositing, as outlined in the above mentioned article, involves combining portions of one value with portions of another value, whilst the process of rendering involves the replacement of one value by another, and both are applicable to the prior art and the present invention.
Referring now to FIG. 1 there is shown an image of a hollow triangle 2 in front of a solid square 6. In this example, the triangle 2 is defined by three points 3,4 and 5. Hence the display of the triangle 2 can be achieved by drawing a line between each of these points (or by altering pixels that lie in a line between the points). In order to achieve an edge of greater thickness, it is necessary to draw both the line itself as well as pixels that are adjacent to the line itself. Methods of drawing thick lines are known to those skilled in the art.
Although the types of pictures drawn using such techniques can be of very high quality they do not fall into the catergory of `fine art` and the degree of realism that is achievable is limited. This is caused by the nature of the `hard lines` that are created by such a technique, being substantially different from the possible textures and tonal qualities that a graphic artist would produce using more conventional tools.
It is desirable to produce a final picture with the appearance to the observer that, for example, the foreground triangle 2 is properly blended with the background square 6. One desirable effect to achieve for the proper blending of objects is to have a central portion of an edge 7 having a high opacity value with a gradual decreasing opacity to the exterior portion of an edge 8 which has a low opacity value and is therefore highly transparent.
Referring now to FIG. 2 there is shown an opacity cross section along the line A--A of FIG. 1, showing a first method used in construction of the opacity edge of the triangle in FIG. 1. One desired method of preparation of such opaque values is to define the opaque values proceeding in a linear ramp from a maximum value. One method of doing this would be to create an opacity plane for the triangle 2 with a high opacity (close to value 1) at those pixels close to the central portion of an edge 7, and a low opacity (close to the value 0) at the exterior portion of an edge 8 with the opacity mask decreasing at right angles to the direction of the edge.
However, this method is particularly complicated, especially where the image being rendered has a substantial number of complicated opacity profiles for each edge that must be composited. Referring now to FIG. 3 there is shown a complicated edge profile to be composited up on a square 11. In this example, an edge 10, which is to be composited on the rectangle 11, has a number of jaggered portions 12. It is not readily apparent what the exact form of the opacity mask should be in compositing such an edge as the use of a linear ramp opacity mask at right angles to the direction of the edge does not work at comer edges that do not have a normal to it.
One form of describing computer graphical images, in common use in the art, is to described the image by means of a page description language (PDL). PDL's have become very popular in recent times as they allow more flexibility in the use on a multitude of different output devices in that the description of a particular image is provided on a device independent basis. PDL's normally provide for extensive support for curves and curve thickness which form common parts of computer images. However, if the above methods are used to determine an opacity profile then a pixel by pixel description of the opacity plane of the image must be stored as it is not readily apparent how the picture can be created from a curve based description. This is particularly inconvenient if multiple graphical images are desired to be stored in a computer system due to the resultant increase in image storage space.